feat(gfql): PR 1.3 - Call Operations for safe method execution#707
Closed
lmeyerov wants to merge 11 commits into
Closed
feat(gfql): PR 1.3 - Call Operations for safe method execution#707lmeyerov wants to merge 11 commits into
lmeyerov wants to merge 11 commits into
Conversation
lmeyerov
force-pushed
the
feature/gfql-pr1-3-call-operations
branch
5 times, most recently
from
July 21, 2025 11:36
cc3c6db to
2bf6b06
Compare
lmeyerov
force-pushed
the
feature/gfql-pr1-ast-nodes
branch
from
July 21, 2025 17:26
330049f to
4c36647
Compare
lmeyerov
force-pushed
the
feature/gfql-pr1-3-call-operations
branch
from
July 21, 2025 17:27
2bf6b06 to
d7faad0
Compare
lmeyerov
force-pushed
the
feature/gfql-pr1-ast-nodes
branch
from
July 21, 2025 20:44
4c36647 to
7ef4751
Compare
lmeyerov
force-pushed
the
feature/gfql-pr1-3-call-operations
branch
from
July 21, 2025 21:07
d7faad0 to
f4bdab0
Compare
lmeyerov
force-pushed
the
feature/gfql-pr1-ast-nodes
branch
4 times, most recently
from
July 24, 2025 02:24
53b08cd to
73cf7ed
Compare
lmeyerov
force-pushed
the
feature/gfql-pr1-3-call-operations
branch
5 times, most recently
from
July 25, 2025 00:03
7025999 to
60c8cd2
Compare
Contributor
Author
|
Triggering CI after import fixes |
lmeyerov
force-pushed
the
feature/gfql-pr1-3-call-operations
branch
from
July 26, 2025 04:53
fdd16e6 to
f7bcbe1
Compare
This was referenced Jul 26, 2025
- Add ASTCall node type for safe method execution - Create safelist framework with method allowlists - Implement parameter validation for exposed methods - Add call execution support in chain_dag - Include core graph methods (get_degrees, filter_by_dict, etc) 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Add 'call' alias for ASTCall to make the API more accessible - Export 'call' from compute module - Follows the pattern of other AST aliases (n, e, dag, ref, remote) This completes the user-friendly aliasing for all public AST classes. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Expand safelist with more Plottable methods (transformations, visual encoding, metadata) - Add schema_effects metadata to track columns added/required by each method - Implement _validate_call_op in validate_schema.py - Hook Call validation into existing schema validation protocol - Add comprehensive tests for Call schema validation - Support dry-run validation with empty DataFrames Methods now track: - adds_node_cols: Columns added to nodes - adds_edge_cols: Columns added to edges - requires_node_cols: Node columns that must exist - requires_edge_cols: Edge columns that must exist 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
…tions - Add detailed docstrings to all functions in call_safelist.py - Add comprehensive docstrings to call_executor.py - Add docstrings to ASTCall class and its methods in ast.py - Add docstrings to _validate_call_op in validate_schema.py - Create comprehensive GPU test coverage in test_call_operations_gpu.py - Fix failing test that incorrectly used Call operations in chains - Fix all linting issues (W292, E501) The documentation now clearly explains: - Purpose and behavior of each function - Parameter types and validation rules - Return values and exceptions - Schema effects for static analysis 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Move call_executor.py and call_safelist.py to compute/gfql/ for better organization - Update all imports to use new location - All tests pass
- Move call_executor.py and call_safelist.py back to compute directory - Update all imports to use original paths - Remove empty gfql subdirectory that conflicted with gfql.py - Fix ASTLet alias and type annotations - Fix lint issues (newlines, comparison operators)
- Update test files to use ASTLet instead of deprecated ASTQueryDAG - Add missing Any import to ast.py for ASTCall type hints - Fixes import errors after rebasing onto PR #706 changes This completes the rebase integration with the ASTQueryDAG → ASTLet rename. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
lmeyerov
force-pushed
the
feature/gfql-pr1-3-call-operations
branch
from
July 26, 2025 08:29
f7bcbe1 to
2a57411
Compare
lmeyerov
added a commit
that referenced
this pull request
Jul 26, 2025
Updates PR #709 to be compatible with the ASTChainRef → ASTRef refactoring completed in PR #707. This ensures the PR stack remains consistent. Changes: - Rename ASTChainRef class to ASTRef in ast.py - Update JSON type from 'ChainRef' to 'Ref' - Update all references in chain_dag.py and validate_schema.py - Fix import paths for call_executor and call_safelist - Support both 'ChainRef' and 'Ref' JSON types for backward compatibility 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
Closed
8 tasks
Contributor
Author
|
Superseded by PR #715 which consolidates all GFQL code changes into a single PR for easier review and testing. |
7 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Implements ASTCall operations with comprehensive validation framework for safe method execution in GFQL.
Stack Position: #2 - Builds on PR #706's core AST infrastructure.
Stack Order
The complete GFQL stack (merge in this order):
Key Features
ASTCall - Safe Method Execution
Call Validation Framework
Call Executor
Safelist Configuration
Currently supports these validated methods:
get_degrees- Node degree calculationsfilter_nodes_by_dict- Node filtering operationsfilter_edges_by_dict- Edge filtering operationshop- Graph traversal operationsValidation Features
Error Handling
Testing
This PR enables safe execution of Plottable methods through GFQL, with comprehensive validation to prevent runtime errors and ensure data pipeline safety.
🤖 Generated with Claude Code
Co-Authored-By: Claude noreply@anthropic.com